//================================================================================================================================
//
// Copyright (c) 2015-2022 VisionStar Information Technology (Shanghai) Co., Ltd. All Rights Reserved.
// EasyAR is the registered trademark or trademark of VisionStar Information Technology (Shanghai) Co., Ltd in China
// and other countries for the augmented reality technology developed by VisionStar Information Technology (Shanghai) Co., Ltd.
//
//================================================================================================================================

package com.lyc.easyar;

import android.content.Context;

import cn.easyar.CameraParameters;

interface CameraDevice {
    int getBufferCapacity();
    void setBufferCapacity(int capacity);

    boolean openWithIndex(int index);
    boolean openWithSpecificType(int type);
    void close();

    boolean start();
    void stop();

    int getIndex();
    int getType();
    int getCameraOrientation();
    CameraParameters getCameraParameters();
    void setCameraParameters(CameraParameters cameraParameters);

    int getSizeWidth();
    int getSizeHeight();
    int getNumSupportedSize();
    int getSupportedSizeWidth(int index);
    int getSupportedSizeHeight(int index);
    boolean setSize(int width, int height);

    int getNumSupportedFrameRateRange();
    float getSupportedFrameRateRangeLower(int index);
    float getSupportedFrameRateRangeUpper(int index);
    int getFrameRateRange();
    boolean setFrameRateRange(int index);

    boolean setFlashTorchMode(boolean on);
    boolean setFocusMode(int focusMode);

    boolean autoFocus();

    void takePhoto(PathCallback pathCallback);

    void setZoom(int progress, int max);

    int getMaxZoom();
    int getZoomValue();
    void changeZoom(boolean isAdd);
}
